function useClosureProcedure() {
  function closure() {
    const fn = () => {
      // 动态绑定, 这里这个变量似乎是`在定义之前`就访问了, 但实际上是在调用的时候才会捕获它
      return arr.map((item) => item * 2);
    };
    return fn;
  }
  let arr: number[] = [3, 4, 5];
  const update = closure();
  const updateArr = update();
  /// 特殊
  arr = arr.concat(updateArr);
  return arr;
}
useClosureProcedure();
